package jmine.tec.script;

/**
 * {@link ScriptExecutor} que "finge" ser de outro tipo. Especialmente indicado para executores com "debug"
 * 
 * @author takeshi
 */
public interface WrappingScriptExecutor extends ScriptExecutor {

    /**
     * O tipo do {@link ScriptExecutor} que este executor quer se fazer passar por. Normalmente nao depende da instancia do executor, mas
     * este comportamento pode ser alterado.
     * 
     * @return {@link Class} que extende de {@link ScriptExecutor}
     */
    Class<? extends ScriptExecutor> getWrappedExecutorType();

}
